1. Field of the Invention
This invention relates to an apparatus and method for integrating fractional rate encoding with trellis coded modulation.
2. Background Art
In conventional, or non-fractional rate encoding, there is an integer number of bits per baud. This requires the number of possible configurations of a baud (i.e. the number of points in an "eye pattern" or constellation in quadrature amplitude modulation encoding) to be equal to 2 to the power of said integer.
For example, it is established convention to have 7 bits per baud (128 possible baud configurations) in a system employing a 16.8k transmission rate and to have 6 bits per baud (64 possible baud configurations) in a system employing 14.4k transmission rate.
However, when line impairments are encountered, the data rate and the bandwidth may be held constant with the amount of information transmitted reduced by reducing the number of bits per baud. As the number of bits per baud is reduced, the spacing of the data points in the constellation is increased, thereby compensating for the reliability lost due to line impairments. This reduced number of points in a constellation may be other than an integer power of 2, therefore a non-integer or fractional number of bits are transmitted per baud.
In commonly assigned patent application Ser. No. 588,652, filed Sep. 26, 1990, a modem is described which performs fractional rate encoding.
Trellis coded modulation, otherwise known as Viterbi encoding, is a forward error coding algorithm which involves the use of systematically redundant data bits to generate a preselected allowable number of data sets. Only predetermined transitions from one sequential group of bits (corresponding to bauds) to another are allowed. There is an inherent correlation between these redundant bits over consecutive bauds. At the receiver, each baud is tentatively decoded and then analyzed based on past history, and the decoded bits are corrected if necessary. It has been found that trellis encoding provides a gain of at least 4 db in the signal-to-noise ratio of the data signals received in wireline modem applications. This algorithm is disclosed in U.S. Pat. No. 4,077,021 to Csajka et al. Further, U.S. Pat. Nos. 4,709,377 to Martinez and Mack and 4,677,625 to Betts, Martinez and Bremer (citing CCITT study group XVII, Contribution No. D180, in October, 1983, entitled Trellis-Coded Modulation Scheme with 8-State Systematic Encoder and 90 Degree Symmetry for Use in Data Modems Transmitting 3-7 Bits per Modulation Interval), both commonly assigned herewith, disclose modifications to trellis encoding.
More specifically, as described in the aforementioned U.S. Pat. No. 4,077,021 patent, trellis coding involves subdividing a bit sequence into groups each consisting of r bits, expanding each r-bit group into an (r+1) bit group by a sequential coder with four internal states, and modulating a carrier signal to assume one out of 2.sup.r+1 discrete carrier signal values. The assignment between the expanded bit groups and the carrier signal values being so selected that 2.sup.r-1 carrier signal values correspond to each transition from one internal state of the coder to one of two possible follower states, and that these 2.sup.r-1 carrier signal values have a larger minimum distance from each other than the absolute minimum distance within the set of 2.sup.r discrete signal values used in conventional non-redundantly coded transmissions.
However, the trellis coding algorithm described above is adapted to a modem integer, rather than fractional rate encoding. Classical trellis coding and classical fractional rate encoding are not easily integrate. More specifically, both methods require certain constraints on the resulting data. Fractional rate encoding requires that every baud of data be a valid digit in the specified base (i.e., the number of points in the constellation) while trellis encoding requires that every baud of data follow a sequence which is specified by a convolutional code. These two constraints operate on the same data, and heretofore, it has appeared that the two coding techniques are mutually exclusive.
Devising trellis codes in higher bases is unduly complex, does not take advantage of established algorithms, and is not feasible in modems of limited memory capacity. Similarly, the straightforward approach of encoding a fractional number of bits per baud into a subset of integer bits per baud by converting the bits in base two into an integer number of bits with a base equal to the number of bits in the constellation results in a run-time intensive system with the above algorithm coded in conjunction with the Trellis encoder.